package cn.powerone.scm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.powerone.common.annotation.Excel;
import cn.powerone.common.core.domain.BaseEntity;

/**
 * 每天变化统计信息-总对象 scm_stats_daily
 * 
 * @author PowerOne
 * @date 2025-09-09
 */
public class ScmStatsDaily extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 统计ID */
    private Long id;

    /** 统计日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date statsDate;

    /** 总项目数 */
    @Excel(name = "总项目数")
    private Long totalProjects;

    /** 总产品数 */
    private Long totalProducts;

    /** 总客户数 */
    @Excel(name = "总客户数")
    private Long totalCustomer;

    /** 总供应商数 */
    @Excel(name = "总供应商数")
    private Long totalSupplier;

    /** 总活跃客户数 */
    @Excel(name = "总活跃客户数")
    private Long totalActiveCustomer;

    /** 总活跃供应商数 */
    @Excel(name = "总活跃供应商数")
    private Long totalActiveSupplier;

    /** 客户总订单数 */
    @Excel(name = "客户总订单数")
    private Long totalCustomerOrders;

    /** 供应商总订单数 */
    @Excel(name = "供应商总订单数")
    private Long totalSupplierOrders;

    /** 客户过期订单数 */
    @Excel(name = "客户过期订单数")
    private Long customerOrdersExpired;

    /** 供应商过期订单数 */
    @Excel(name = "供应商过期订单数")
    private Long supplierOrdersExpired;

    /** 客户快到期订单数 */
    @Excel(name = "客户快到期订单数")
    private Long customerOrdersExpiring;

    /** 供应商快到期订单数 */
    @Excel(name = "供应商快到期订单数")
    private Long supplierOrdersExpiring;

    /** 客户未支付订单数 */
    @Excel(name = "客户未支付订单数")
    private Long customerOrdersNotPayed;

    /** 供应商未支付订单数 */
    @Excel(name = "供应商未支付订单数")
    private Long supplierOrdersNotPayed;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setStatsDate(Date statsDate) 
    {
        this.statsDate = statsDate;
    }

    public Date getStatsDate() 
    {
        return statsDate;
    }
    public void setTotalProjects(Long totalProjects) 
    {
        this.totalProjects = totalProjects;
    }

    public Long getTotalProjects() 
    {
        return totalProjects;
    }
    public void setTotalProducts(Long totalProducts) 
    {
        this.totalProducts = totalProducts;
    }

    public Long getTotalProducts() 
    {
        return totalProducts;
    }
    public void setTotalCustomer(Long totalCustomer) 
    {
        this.totalCustomer = totalCustomer;
    }

    public Long getTotalCustomer() 
    {
        return totalCustomer;
    }
    public void setTotalSupplier(Long totalSupplier) 
    {
        this.totalSupplier = totalSupplier;
    }

    public Long getTotalSupplier() 
    {
        return totalSupplier;
    }
    public void setTotalActiveCustomer(Long totalActiveCustomer) 
    {
        this.totalActiveCustomer = totalActiveCustomer;
    }

    public Long getTotalActiveCustomer() 
    {
        return totalActiveCustomer;
    }
    public void setTotalActiveSupplier(Long totalActiveSupplier) 
    {
        this.totalActiveSupplier = totalActiveSupplier;
    }

    public Long getTotalActiveSupplier() 
    {
        return totalActiveSupplier;
    }
    public void setTotalCustomerOrders(Long totalCustomerOrders) 
    {
        this.totalCustomerOrders = totalCustomerOrders;
    }

    public Long getTotalCustomerOrders() 
    {
        return totalCustomerOrders;
    }
    public void setTotalSupplierOrders(Long totalSupplierOrders) 
    {
        this.totalSupplierOrders = totalSupplierOrders;
    }

    public Long getTotalSupplierOrders() 
    {
        return totalSupplierOrders;
    }
    public void setCustomerOrdersExpired(Long customerOrdersExpired) 
    {
        this.customerOrdersExpired = customerOrdersExpired;
    }

    public Long getCustomerOrdersExpired() 
    {
        return customerOrdersExpired;
    }
    public void setSupplierOrdersExpired(Long supplierOrdersExpired) 
    {
        this.supplierOrdersExpired = supplierOrdersExpired;
    }

    public Long getSupplierOrdersExpired() 
    {
        return supplierOrdersExpired;
    }
    public void setCustomerOrdersExpiring(Long customerOrdersExpiring) 
    {
        this.customerOrdersExpiring = customerOrdersExpiring;
    }

    public Long getCustomerOrdersExpiring() 
    {
        return customerOrdersExpiring;
    }
    public void setSupplierOrdersExpiring(Long supplierOrdersExpiring) 
    {
        this.supplierOrdersExpiring = supplierOrdersExpiring;
    }

    public Long getSupplierOrdersExpiring() 
    {
        return supplierOrdersExpiring;
    }
    public void setCustomerOrdersNotPayed(Long customerOrdersNotPayed) 
    {
        this.customerOrdersNotPayed = customerOrdersNotPayed;
    }

    public Long getCustomerOrdersNotPayed() 
    {
        return customerOrdersNotPayed;
    }
    public void setSupplierOrdersNotPayed(Long supplierOrdersNotPayed) 
    {
        this.supplierOrdersNotPayed = supplierOrdersNotPayed;
    }

    public Long getSupplierOrdersNotPayed() 
    {
        return supplierOrdersNotPayed;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("statsDate", getStatsDate())
            .append("totalProjects", getTotalProjects())
            .append("totalProducts", getTotalProducts())
            .append("totalCustomer", getTotalCustomer())
            .append("totalSupplier", getTotalSupplier())
            .append("totalActiveCustomer", getTotalActiveCustomer())
            .append("totalActiveSupplier", getTotalActiveSupplier())
            .append("totalCustomerOrders", getTotalCustomerOrders())
            .append("totalSupplierOrders", getTotalSupplierOrders())
            .append("customerOrdersExpired", getCustomerOrdersExpired())
            .append("supplierOrdersExpired", getSupplierOrdersExpired())
            .append("customerOrdersExpiring", getCustomerOrdersExpiring())
            .append("supplierOrdersExpiring", getSupplierOrdersExpiring())
            .append("customerOrdersNotPayed", getCustomerOrdersNotPayed())
            .append("supplierOrdersNotPayed", getSupplierOrdersNotPayed())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}